The present invention relates generally to computing systems and more particularly to a method and apparatus for representing a document to be displayed on an output device.
A document publishing application can be used to produce content (i.e., a document) to be displayed on an output device. Document publishing applications allow a user to manipulate text, graphics, image and other data, forming a document for publication on a conventional output device. The output can be described in terms of one or more page description language objects that can be processed by the output device. The output device can include a raster image processor for translating the page description language objects into data for display on the output device.
Conventional document publishing applications can produce output in one of a plurality of output formats. Depending on the format type, various other devices can view or manipulate the output. As described above, the document produced by a conventional document publishing application can include one or more pages of content, each described in a page description language. Two well known page description languages for specifying objects and related information are the PostScript® and the Portable Document Format™ (PDF™) by Adobe Systems, Inc. of San Jose, Calif.
Herein, a “page” of displayed data refers to a block or group of visual representations that can be viewed by the user as a unit. For example, a page of displayed representations from a printer device can be the representations shown on a single sheet of paper (or more sheets, if a page is defined to span multiple sheets of paper). In page description interpreters such as the PostScript interpreter, a page of data is typically interpreted, processed and sent to an output display device before the next page is processed.
Each page can include instructions for specifying one or more objects to be painted on the page including specifying colors for the objects. The color specification can include data for one or more color planes as well as the designation of one or more non-process color planes. That is, the color specification can include data values for a subset of the color planes defined in the page and overprint instructions.
The color specification for an object can designate a color space that is divided into plural color planes. The gamut for the color space defines all the possible colors able to be generated in the color space. In some applications, a user can specify one or more particular colors, a spot color(s), within the gamut. A spot color can be defined for a frequently used color in the document. Alternatively, a user can designate a color as a spot color where there is a need to preserve the color through the printing process, e.g., maybe a fluorescent color. When specifying a spot color, the document publication application can create a spot color plane to be associated with the object. That is, the color specification for the object can include data for the spot color plane as well as the other planes associated with the color space defined for the object.
As described above, the object color specification can include overprint instructions. In general, PostScript and PDF documents include implicit overprint instructions. That is, the page description includes one or more operators for defining marks on a page. Each new mark completely obscures any marks it may overlay. In addition, objects may include explicit overprint instructions. For example, a PDF gradient can include an explicit overprint instruction as part of the object definition.
When processing a document, a conventional color output device includes a color separation system. The color separation system separates a page into its component color planes, and produces as an output plural “gray” pages, one for each color plane, to be used in marking the page. A “gray” page is a representation of the page in a single color plane and includes only color data for the single color plane. Each object processed by the color separation system may require the generation of color separations for marks made in select color planes and the removal of marks in corresponding positions of unselected planes.
In a conventional output device, the color separation function is performed by a rasterizer. When an object is marked (e.g., color data is specified for the object in one or more color planes), the rasterizer sets the pixel values in the various planes to certain values. When color data is specified for less than all the planes, the rasterizer sets the corresponding pixels in the “unmarked” planes to the background color.